package com.ruoyi.business.service;

import com.alibaba.fastjson.JSONObject;
import com.ruoyi.bizsys.domain.CustBindCardLog;
import com.ruoyi.bizsys.domain.CustBvnMatch;
import com.ruoyi.bizsys.dto.PayTrans;
import com.ruoyi.business.domain.WithholdTrans;

import java.math.BigDecimal;
import java.util.function.Consumer;

/**
 * @Author: Jamnsin
 * @Date: 2021/3/17 5:54 下午
 */
public interface IPayTransService {

    String checkAccountNumber(String accountNumber, String bankCode);

    void payTrans(PayTrans payTrans);

    JSONObject withholdTrans(WithholdTrans withholdTrans);

    boolean isPayAccountBalanceSufficient(BigDecimal loanAmt);

    CustBvnMatch verifyBVNMatch(String accountNumber, String bvnNumber, String bankCode,String userId);

    void tryFunc(Consumer consumer);

    JSONObject verifyTransfer(String payTransSerialNo);

    JSONObject verifyTransaction(String reference, String apiName);

    JSONObject initiateTransfer(BigDecimal loanAmt, String payTransSerialNo, String recipientCode);
}
